<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Object.definPropties的数据代理</title>
</head>
<body>
    <!-- 
            有两个对象a,b ，

     -->
</body>
   <script>
    let a = {
        x: 1
    }
    let b = {
        y:2
    }
    /**
     *需要将  a.x 的属性和值赋值给  b对象里面，也就说给b添加一个x属性和值
     我们需要使用  Object.definePropties()给吧添加一个x属性
     */
     Object.defineProperty(b,'x',{
        set(value){// 这是给b.x设置值，同时将a.x的值也改变了
            console.log("赋值前：",b.x)
            a.x = value;
            console.log("赋值后：",b.x)
        },
        //获取  b中x的值  其实返回代理a.x的值
        get(){
            return a.x;
        }
     })
     Object.defineProperty(a,'y',{
        set(value){// 这是给b.x设置值，同时将a.x的值也改变了
            console.log("赋值前：",b.x)
            a.x = value;
            console.log("赋值后：",b.x)
        },
        //获取  b中x的值  其实返回代理a.x的值
        get(){
            return a.x;
        }
     })
   </script>
</html>